//
//  LLDateUitilMacrocDefine.h
//  LLFoundation
//
//  Created by my_liu on 2016/11/14.
//  Copyright © 2016年 . All rights reserved.
//

/**
 *  日期相关工具宏
 */

#import "LLDateUitil.h"

/**
 *  获取当前日历
 */
#define LLDateCurrentCalendar [LLDateUitil sharedCalendar]

/**
 *  获取单例格式化器
 */
#define LLDateShareFormatter [LLDateUitil sharedDateFormatter]

/**
 *  相对现在日期得间隔天数
 */
#define LLDateDaysAgo(aDate) [LLDateUitil daysAgoFromNow:aDate]

/**
 *  不以午夜为基准计算天数之前
 */
#define LLDateDaysAgoAgainstMidNight(aDate) [LLDateUitil daysAgoAgainstMidnight:aDate]

/**
 *  获取一个时间与当前时间间隔详情字符串
 */
#define LLDateTimeAgoString(aDate) [LLDateUitil detailTimeAgoString:aDate]

/**
 *  获取一个时间戳与当前时间的间隔详情字符串
 */
#define LLDateTimeAgoStringByTimeInterval(timeInterval) [LLDateUitil detailTimeAgoStringByInterval:timeInterval]

/**
 *  天数间隔文本字符串
 */
#define LLDateStringDaysAgo(aDate) [LLDateUitil stringDaysAgo:aDate]

/**
 *  这个日期是星期几
 */
#define LLDateGetWeekDay(aDate) [LLDateUitil weekDay:aDate]

/**
 *  返回这个日期是星期几字符串
 */
#define  LLDateGetWeekDayString(aDate) [LLDateUitil weekDayString:aDate]

/**
 *  返回这个日期在全年中是第多少周字符串
 */
#define  LLDateGetWeekNumString(aDate) [LLDateUitil weekNumberString:aDate]

/**
 *  在全年中是第多少周
 */
#define LLDateGetWeekNum(aDate) [LLDateUitil weekNumber:aDate]

/**
 *  获取日期中得年份
 */
#define LLDateGetYear(aDate) [LLDateUitil year:aDate]

/**
 *  获取日期中得月份
 */
#define LLDateGetMonth(aDate) [LLDateUitil month:aDate]

/**
 *  获取日期中的日
 */
#define LLDateGetDay(aDate) [LLDateUitil day:aDate]

/**
 *  获取日期中得小时
 */
#define LLDateGetHour(aDate) [LLDateUitil hour:aDate]

/**
 *  获取日期中的分钟
 */
#define LLDateGetMinute(aDate) [LLDateUitil minute:aDate]

/**
 *  获取日期中的秒数
 */
#define LLDateGetSecond(aDate) [LLDateUitil second:aDate]

/**
 *  日期转字符串
 */
#define LLDateToString(aDate) [LLDateUitil stringFromDate:aDate]

/**
 *  字符串转日期
 */
#define LLDateFromString(aString) [LLDateUitil dateFromString:aString]

/**
 *  字符串转日期详细时间
 */
#define LLDateTimeFromString(aString) [LLDateUitil dateTimeFromString:aString]

/**
 *  将时间戳转成日期
 */
#define LLDateFromTimeInterval(timeInterval) [LLDateUitil dateFromTimeInterval:timeInterval]

/**
 *  按照某个格式将日期转成字符串
 */
#define LLDateToStringByFormat(aDate,format) [LLDateUitil stringFromDate:aDate withFormat:format]

/**
 *  按照某个格式将字符串转成日期
 */
#define LLDateFromStringByFormat(aString,format) [LLDateUitil dateFromString:aString withFormat:format]

/**
 *  这个日期所在周的起始日期
 */
#define LLDateBeginningOfWeek(aDate) [LLDateUitil beginningOfWeek:aDate]

/**
 *  这个日期的起始时间
 */
#define LLDateBeginningOfDay(aDate) [LLDateUitil beginningOfDay:aDate]

/**
 *  这个日期所在周的结束日期
 */
#define LLDateEndOfWeek(aDate) [LLDateUitil endOfWeek:aDate]

/**
 *  普通日期格式字符串
 */
#define LLDateFormatString [LLDateUitil dateFormatString]

/**
 *  普通时间格式字符串
 */
#define LLDateTimeFormatString [LLDateUitil timeFormatString]

/**
 *  时间戳格式字符串
 */
#define LLDateTimeStampFormatString [LLDateUitil timestampFormatString]

/**
 *  数据库存储格式字符串
 */
#define LLDateDataBaseFormatString [LLDateUitil dbFormatString]

/**
 *  生日转年龄
 */
#define LLDateBirthDayToAge(date) [LLDateUitil birthdayToAge:date]

/**
 *  生日转年龄
 */
#define LLDateBirthDayToAgeByTimeInterval(timeInterval) [LLDateUitil birthdayToAgeByTimeInterval:timeInterval]

/**
 *  日期转星座
 */
#define LLDateToConstellation(date) [LLDateUitil dateToConstellation:date]

/**
 *  时间戳转星座
 */
#define LLDateToConstellationByTimeInterval(timeInterval) [LLDateUitil dateToConstellationByTimeInterval:timeInterval]

/**
 获取与当前时间间隔一个月的时间 字符串
 */
#define LLDateLaterMonthForNowDate(currentDate,format) [LLDateUitil laterMonthForNowDate:currentDate withFormat:format]

